﻿namespace BloggerBackup
{
    using BloggerBackup.My.Resources;
    using Google.GData.Client;
    using HtmlAgilityPack;
    using log4net;
    using Microsoft.VisualBasic;
    using Microsoft.VisualBasic.CompilerServices;
    using PAB.Security;
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Diagnostics;
    using System.Drawing;
    using System.Net;
    using System.Runtime.CompilerServices;
    using System.Windows.Forms;

    [DesignerGenerated]
    public class BlogList : Form
    {
        private static List<WeakReference> __ENCList = new List<WeakReference>();
        [AccessedThroughProperty("AddBlogButton")]
        private Button _AddBlogButton;
        [AccessedThroughProperty("BloggerBlogTextBox")]
        private TextBox _BloggerBlogTextBox;
        [AccessedThroughProperty("BloggerFeedTextBox")]
        private TextBox _BloggerFeedTextBox;
        [AccessedThroughProperty("BlogListContextMenuStrip")]
        private ContextMenuStrip _BlogListContextMenuStrip;
        [AccessedThroughProperty("BlogListView")]
        private ListView _BlogListView;
        [AccessedThroughProperty("BlogTitleTextBox")]
        private TextBox _BlogTitleTextBox;
        [AccessedThroughProperty("Cancel_Button")]
        private Button _Cancel_Button;
        [AccessedThroughProperty("ClearButton")]
        private Button _ClearButton;
        [AccessedThroughProperty("ColumnHeader1")]
        private ColumnHeader _ColumnHeader1;
        [AccessedThroughProperty("ColumnHeader2")]
        private ColumnHeader _ColumnHeader2;
        [AccessedThroughProperty("ColumnHeader3")]
        private ColumnHeader _ColumnHeader3;
        [AccessedThroughProperty("DeleteToolStripMenuItem")]
        private ToolStripMenuItem _DeleteToolStripMenuItem;
        [AccessedThroughProperty("DownloadedStatusLabel")]
        private ToolStripStatusLabel _DownloadedStatusLabel;
        [AccessedThroughProperty("EditToolStripMenuItem")]
        private ToolStripMenuItem _EditToolStripMenuItem;
        [AccessedThroughProperty("GetBlogsButton")]
        private Button _GetBlogsButton;
        [AccessedThroughProperty("GetFeedURLButton")]
        private Button _GetFeedURLButton;
        [AccessedThroughProperty("Label1")]
        private Label _Label1;
        [AccessedThroughProperty("Label2")]
        private Label _Label2;
        [AccessedThroughProperty("Label3")]
        private Label _Label3;
        [AccessedThroughProperty("Label4")]
        private Label _Label4;
        [AccessedThroughProperty("Label5")]
        private Label _Label5;
        private static ILog _log;
        [AccessedThroughProperty("LogInCheckBox")]
        private CheckBox _LogInCheckBox;
        [AccessedThroughProperty("LogIntoBloggerHelpLabel")]
        private Label _LogIntoBloggerHelpLabel;
        [AccessedThroughProperty("MainStatusStrip")]
        private StatusStrip _MainStatusStrip;
        private bool _ManualEntryDirty;
        [AccessedThroughProperty("ManuallyAddBlogHelpLabel")]
        private Label _ManuallyAddBlogHelpLabel;
        [AccessedThroughProperty("OK_Button")]
        private Button _OK_Button;
        [AccessedThroughProperty("OpenBlogToolStripMenuItem")]
        private ToolStripMenuItem _OpenBlogToolStripMenuItem;
        [AccessedThroughProperty("OpenToolStripMenuItem")]
        private ToolStripMenuItem _OpenToolStripMenuItem;
        [AccessedThroughProperty("PasswordTextbox")]
        private TextBox _PasswordTextbox;
        private Service _service;
        private BloggerBackupSettings _Settings;
        [AccessedThroughProperty("StatusLabel")]
        private ToolStripStatusLabel _StatusLabel;
        [AccessedThroughProperty("TabControl1")]
        private TabControl _TabControl1;
        [AccessedThroughProperty("TableLayoutPanel1")]
        private TableLayoutPanel _TableLayoutPanel1;
        [AccessedThroughProperty("TabPage1")]
        private TabPage _TabPage1;
        [AccessedThroughProperty("TabPage2")]
        private TabPage _TabPage2;
        [AccessedThroughProperty("ToolStripSeparator1")]
        private ToolStripSeparator _ToolStripSeparator1;
        [AccessedThroughProperty("ToolStripSeparator2")]
        private ToolStripSeparator _ToolStripSeparator2;
        [AccessedThroughProperty("ToolTip1")]
        private ToolTip _ToolTip1;
        [AccessedThroughProperty("UserIDTextBox")]
        private TextBox _UserIDTextBox;
        [AccessedThroughProperty("VerifyBlogButton")]
        private Button _VerifyBlogButton;
        [AccessedThroughProperty("VerifyFeedButton")]
        private Button _VerifyFeedButton;
        private IContainer components;

        public BlogList()
        {
            base.Load += new EventHandler(this.BlogList_Load);
            List<WeakReference> list = __ENCList;
            lock (list)
            {
                __ENCList.Add(new WeakReference(this));
            }
            this._ManualEntryDirty = false;
            this.InitializeComponent();
        }

        private void AddBlogButton_Click(object sender, EventArgs e)
        {
            if (this.BlogTitleTextBox.Text.Length == 0)
            {
                Interaction.MsgBox("Please enter a Title for this blog", MsgBoxStyle.OkOnly, null);
                this.BlogTitleTextBox.Focus();
            }
            else if (this.BloggerBlogTextBox.Text.Length == 0)
            {
                Interaction.MsgBox("Please enter the Blogger Blog URL", MsgBoxStyle.OkOnly, null);
                this.BloggerBlogTextBox.Focus();
            }
            else if (this.BloggerFeedTextBox.Text.Length == 0)
            {
                Interaction.MsgBox("Please enter the Blogger Feed URL for this blog", MsgBoxStyle.OkOnly, null);
                this.BloggerFeedTextBox.Focus();
            }
            else
            {
                BlogSetting tag;
                if (this.BloggerBlogTextBox.Tag != null)
                {
                    tag = (BlogSetting) this.BloggerBlogTextBox.Tag;
                }
                else
                {
                    tag = new BlogSetting();
                }
                tag.BlogURL = this.BloggerBlogTextBox.Text;
                tag.FeedURL = this.BloggerFeedTextBox.Text;
                tag.Title = this.BlogTitleTextBox.Text;
                tag.ServiceType = BlogSetting.ServiceTypes.Blogger;
                tag.RequiresLogIn = this.LogInCheckBox.Checked;
                if (this.BlogListView.Items.ContainsKey(tag.ID.ToString()))
                {
                    this.BlogListView.Items.RemoveByKey(tag.ID.ToString());
                }
                ListViewItem item = this.BlogListView.Items.Add(tag.ID.ToString(), tag.Title, 0);
                item.Tag = tag;
                item.SubItems.Add(tag.FeedURL);
                item.SubItems.Add(tag.UserName);
                this.ClearManualFields();
                this._ManualEntryDirty = false;
            }
        }

        private void BloggerBlogTextBox_Leave(object sender, EventArgs e)
        {
            if (this.BloggerBlogTextBox.Text.Length != 0)
            {
                if (!this.BloggerBlogTextBox.Text.StartsWith("http://", StringComparison.OrdinalIgnoreCase))
                {
                    this.BloggerBlogTextBox.Text = "http://" + this.BloggerBlogTextBox.Text;
                }
                if (this.BloggerBlogTextBox.Text.EndsWith("/"))
                {
                    this.BloggerBlogTextBox.Text = this.BloggerBlogTextBox.Text.Remove(this.BloggerBlogTextBox.Text.Length - 1);
                }
            }
        }

        private void BlogList_Load(object sender, EventArgs e)
        {
            this.LogIntoBloggerHelpLabel.Text = "On this tab you can log into Blogger and automatically download and add the list of your blogs. While the User ID will be saved, your password WILL NOT be saved.\r\nThis is the recommended and easiest way to add blogs to the list.";
            this.ManuallyAddBlogHelpLabel.Text = "On this tab you can manually add your Blogger blog to the list. This can be used if there's a problem logging into Blogger, etc. PLEASE NOTE, that only Blogger blogs are currently supported.\r\nA Blogger Feed URL usually ends in /feeds/default/posts. It looks like http://blog.blogspot.com/feeds/posts/default ";
        }

        private void BlogListContextMenuStrip_Opening(object sender, CancelEventArgs e)
        {
            if (this.BlogListView.SelectedItems.Count == 0)
            {
                e.Cancel = true;
            }
        }

        private void BlogListView_KeyUp(object sender, KeyEventArgs e)
        {
            if ((e.KeyCode == Keys.Delete) && (this.BlogListView.SelectedItems.Count != 0))
            {
                IEnumerator enumerator;
                try
                {
                    enumerator = this.BlogListView.SelectedItems.GetEnumerator();
                    while (enumerator.MoveNext())
                    {
                        ListViewItem current = (ListViewItem) enumerator.Current;
                        this._Settings.BlogSettings.Remove((BlogSetting) current.Tag);
                        this.BlogListView.Items.Remove(current);
                        this._ManualEntryDirty = false;
                    }
                }
                finally
                {
                    if (enumerator is IDisposable)
                    {
                        (enumerator as IDisposable).Dispose();
                    }
                }
                e.Handled = true;
            }
        }

        private void Cancel_Button_Click(object sender, EventArgs e)
        {
            this.DialogResult = DialogResult.Cancel;
            this.Close();
        }

        private void ClearButton_Click(object sender, EventArgs e)
        {
            this.ClearManualFields();
            this._ManualEntryDirty = false;
        }

        private void ClearManualFields()
        {
            this.BloggerBlogTextBox.Text = "";
            this.BloggerBlogTextBox.Tag = null;
            this.BloggerFeedTextBox.Text = "";
            this.BlogTitleTextBox.Text = "";
            this.LogInCheckBox.Checked = false;
        }

        private void DeleteBlog()
        {
            if (this.BlogListView.SelectedItems.Count != 0)
            {
                IEnumerator enumerator;
                try
                {
                    enumerator = this.BlogListView.SelectedItems.GetEnumerator();
                    while (enumerator.MoveNext())
                    {
                        ListViewItem current = (ListViewItem) enumerator.Current;
                        this._Settings.BlogSettings.Remove((BlogSetting) current.Tag);
                        this.BlogListView.Items.Remove(current);
                    }
                }
                finally
                {
                    if (enumerator is IDisposable)
                    {
                        (enumerator as IDisposable).Dispose();
                    }
                }
            }
        }

        private void DeleteToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.BlogListView.SelectedItems.Count != 0)
            {
                this.DeleteBlog();
            }
        }

        [DebuggerNonUserCode]
        protected override void Dispose(bool disposing)
        {
            try
            {
                if (((disposing && (this.components != null)) ? 1 : 0) != 0)
                {
                    this.components.Dispose();
                }
            }
            finally
            {
                base.Dispose(disposing);
            }
        }

        private void EditToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.BlogListView.SelectedItems.Count != 0)
            {
                if (this._ManualEntryDirty)
                {
                    switch (((int) Interaction.MsgBox("There's an manual edit or update that has not been saved. Do you wish to edit this setting anyway?", MsgBoxStyle.YesNo, "Unsaved Setting")))
                    {
                        case 7:
                            this.TabControl1.SelectedIndex = 1;
                            this.AddBlogButton.Focus();
                            return;
                    }
                }
                this.TabControl1.SelectedIndex = 1;
                this._ManualEntryDirty = true;
                BlogSetting tag = (BlogSetting) this.BlogListView.SelectedItems[0].Tag;
                this.BloggerBlogTextBox.Text = tag.BlogURL;
                this.BloggerBlogTextBox.Tag = tag;
                this.BloggerFeedTextBox.Text = tag.FeedURL;
                this.BlogTitleTextBox.Text = tag.Title;
                this.LogInCheckBox.Checked = tag.RequiresLogIn;
            }
        }

        private void GetBlogsButton_Click(object sender, EventArgs e)
        {
            string uriString = BloggerBackup.My.Resources.Resources.Blogger30FeedsURL;
            string text = this.UserIDTextBox.Text;
            string password = this.PasswordTextbox.Text;
            if ((((text == null) || (text.Length == 0)) ? 1 : 0) != 0)
            {
                this.StatusUpdate("A User ID is required");
                this.UserIDTextBox.Focus();
                return;
            }
            if ((((password == null) || (password.Length == 0)) ? 1 : 0) != 0)
            {
                this.StatusUpdate("A Password is Required");
                this.PasswordTextbox.Focus();
                return;
            }
            this.Cursor = Cursors.WaitCursor;
            FeedQuery feedQuery = new FeedQuery();
            this._service = new Service("blogger", "BloggerBackupApp");
            if ((((text != null) && (text.Length > 0)) ? 1 : 0) != 0)
            {
                GDataCredentials credentials = new GDataCredentials(text, password);
                this._service.Credentials = credentials;
            }
            GDataRequestFactory requestFactory = (GDataRequestFactory) this._service.RequestFactory;
            requestFactory.KeepAlive = true;
            if (this._Settings.ProxyEnabled)
            {
                string proxyURL;
                if ((((this._Settings.ProxyURL != null) && (this._Settings.ProxyPort > 0)) ? 1 : 0) != 0)
                {
                    proxyURL = this._Settings.ProxyURL + ":" + this._Settings.ToString();
                }
                else
                {
                    proxyURL = this._Settings.ProxyURL;
                }
                WebProxy proxy = new WebProxy(proxyURL);
                if ((((this._Settings.ProxyUserId != null) && (this._Settings.ProxyUserId.Length > 0)) ? 1 : 0) != 0)
                {
                    proxy.Credentials = new NetworkCredential(this._Settings.ProxyUserId, DPAPI.UnProtectData(this._Settings.ProxyPassword, BloggerBackup.My.Resources.Resources.BlogURL));
                }
                GDataRequestFactory factory2 = (GDataRequestFactory) this._service.RequestFactory;
                factory2.Proxy = proxy;
                this.StatusUpdate("Using proxy " + proxyURL);
            }
            feedQuery.Uri = new Uri(uriString);
            this.StatusUpdate("Logging on and getting blogs");
            AtomFeed feed = null;
            try
            {
                feed = this._service.Query(feedQuery);
            }
            catch (GDataRequestException exception1)
            {
                ProjectData.SetProjectError(exception1);
                GDataRequestException exception = exception1;
                Interaction.MsgBox("Error connecting to Blogger or the UserID/Password are not correct", MsgBoxStyle.OkOnly, null);
                _log.Error("Error connecting to Blogger or the UserID/Password are not correct", exception);
                ProjectData.ClearProjectError();
            }
            catch (Exception exception5)
            {
                ProjectData.SetProjectError(exception5);
                Exception exception2 = exception5;
                Interaction.MsgBox("Error " + exception2.Message, MsgBoxStyle.OkOnly, null);
                _log.Error("Error", exception2);
                ProjectData.ClearProjectError();
            }
            if (feed == null)
            {
                Interaction.MsgBox("No Blogs were found or were able to be retrieved for this account.", MsgBoxStyle.OkOnly, null);
                _log.Info("No Blogs were found or were able to be retrieved for this account");
            }
            else
            {
                _log.Info("Found " + feed.Entries.Count.ToString() + " blogs");
            }
        Label_06AC:;
            if ((((feed != null) && (feed.Entries.Count > 0)) ? 1 : 0) != 0)
            {
                IEnumerator enumerator;
                try
                {
                    enumerator = feed.Entries.GetEnumerator();
                    while (enumerator.MoveNext())
                    {
                        IEnumerator enumerator2;
                        IEnumerator enumerator3;
                        AtomEntry current = (AtomEntry) enumerator.Current;
                        BlogSetting setting = new BlogSetting();
                        try
                        {
                            enumerator2 = current.Links.GetEnumerator();
                            while (enumerator2.MoveNext())
                            {
                                AtomLink link = (AtomLink) enumerator2.Current;
                                if (link.Rel == "http://schemas.google.com/g/2005#feed")
                                {
                                    setting.FeedURL = link.HRef.ToString();
                                }
                                else if (link.Rel == "http://schemas.google.com/g/2005#post")
                                {
                                    setting.PostURL = link.HRef.ToString();
                                }
                                else if (link.Rel == "self")
                                {
                                    setting.SelfFeedURL = link.HRef.ToString();
                                    if ((((setting.SelfFeedURL.LastIndexOf("/") > 0) && ((setting.SelfFeedURL.LastIndexOf("/") + 1) < setting.SelfFeedURL.Length)) ? 1 : 0) != 0)
                                    {
                                        setting.BloggerBlogID = setting.SelfFeedURL.Substring(setting.SelfFeedURL.LastIndexOf("/") + 1);
                                    }
                                }
                            }
                        }
                        finally
                        {
                            if (enumerator2 is IDisposable)
                            {
                                (enumerator2 as IDisposable).Dispose();
                            }
                        }
                        try
                        {
                            enumerator3 = current.Links.GetEnumerator();
                            while (enumerator3.MoveNext())
                            {
                                AtomLink link2 = (AtomLink) enumerator3.Current;
                                if (link2.Rel == "alternate")
                                {
                                    setting.BlogURL = link2.HRef.ToString();
                                    goto Label_04F5;
                                }
                            }
                        }
                        finally
                        {
                            if (enumerator3 is IDisposable)
                            {
                                (enumerator3 as IDisposable).Dispose();
                            }
                        }
                    Label_04F5:
                        setting.Title = current.Title.Text;
                        setting.UserName = text;
                        setting.ServiceType = BlogSetting.ServiceTypes.Blogger;
                        if (this.BlogListView.Items.Find(setting.FeedURL, true).Length == 0)
                        {
                            ListViewItem item = this.BlogListView.Items.Add(setting.ID.ToString(), setting.Title, 0);
                            item.Tag = setting;
                            item.SubItems.Add(setting.FeedURL);
                            item.SubItems.Add(setting.UserName);
                        }
                        this.StatusUpdate("Found blog " + current.Title.Text);
                    }
                }
                finally
                {
                    if (enumerator is IDisposable)
                    {
                        (enumerator as IDisposable).Dispose();
                    }
                }
                if (feed.NextChunk != null)
                {
                    feedQuery.Uri = new Uri(feed.NextChunk);
                    this.StatusUpdate("Getting next chunk");
                    try
                    {
                        feed = this._service.Query(feedQuery);
                    }
                    catch (GDataRequestException exception6)
                    {
                        ProjectData.SetProjectError(exception6);
                        GDataRequestException exception3 = exception6;
                        Interaction.MsgBox("Error connecting to Blogger or the UserID/Password are not correct", MsgBoxStyle.OkOnly, null);
                        _log.Error("Error connecting to Blogger or the UserID/Password are not correct", exception3);
                        ProjectData.ClearProjectError();
                    }
                    catch (Exception exception7)
                    {
                        ProjectData.SetProjectError(exception7);
                        Exception exception4 = exception7;
                        Interaction.MsgBox("Error " + exception4.Message, MsgBoxStyle.OkOnly, null);
                        _log.Error("Error", exception4);
                        ProjectData.ClearProjectError();
                    }
                }
                else
                {
                    feed = null;
                }
                goto Label_06AC;
            }
            this._Settings.DefaultUserName = text;
            this.Cursor = Cursors.Default;
            this.StatusUpdate("Done");
        }

        private void GetFeedURLButton_Click(object sender, EventArgs e)
        {
            if (this.BloggerBlogTextBox.Text.Length == 0)
            {
                this.StatusUpdate("Blogger URL missing");
                Interaction.MsgBox("Please enter your full Blogger Blog URL and then try this again", MsgBoxStyle.OkOnly, "Blogger URL Empty");
                this.StatusUpdate("");
                return;
            }
            this.Cursor = Cursors.WaitCursor;
            string text = this.BloggerBlogTextBox.Text;
            this.StatusUpdate("Opening " + text);
            _log.Info("Opening " + text);
            HtmlWeb web = new HtmlWeb();
            try
            {
                HtmlAgilityPack.HtmlDocument document = web.Load(text);
                this.StatusUpdate("Getting to links");
                _log.Info("Getting links");
                HtmlNodeCollection.HtmlNodeEnumerator enumerator = document.DocumentNode.SelectNodes("//link[@href]").GetEnumerator();
                while (enumerator.MoveNext())
                {
                    HtmlNode current = enumerator.Current;
                    this.StatusUpdate("Checking rel attribute, if service.post");
                    if (current.Attributes["rel"].Value == "service.post")
                    {
                        _log.Info("Found it " + current.Attributes["href"].Value);
                        this.BloggerFeedTextBox.Text = current.Attributes["href"].Value;
                        goto Label_01B0;
                    }
                }
            }
            catch (Exception exception1)
            {
                ProjectData.SetProjectError(exception1);
                Exception exception = exception1;
                this.StatusUpdate("Error reading page, " + exception.Message);
                _log.Error("Error reading or parsing Blog", exception);
                ProjectData.ClearProjectError();
            }
        Label_01B0:
            this.Cursor = Cursors.Default;
            this.StatusUpdate("");
        }

        [DebuggerStepThrough]
        private void InitializeComponent()
        {
            this.components = new System.ComponentModel.Container();
            ComponentResourceManager manager = new ComponentResourceManager(typeof(BlogList));
            this.TableLayoutPanel1 = new TableLayoutPanel();
            this.OK_Button = new Button();
            this.Cancel_Button = new Button();
            this.BlogListView = new ListView();
            this.ColumnHeader1 = new ColumnHeader();
            this.ColumnHeader2 = new ColumnHeader();
            this.ColumnHeader3 = new ColumnHeader();
            this.BlogListContextMenuStrip = new ContextMenuStrip(this.components);
            this.EditToolStripMenuItem = new ToolStripMenuItem();
            this.ToolStripSeparator2 = new ToolStripSeparator();
            this.OpenToolStripMenuItem = new ToolStripMenuItem();
            this.OpenBlogToolStripMenuItem = new ToolStripMenuItem();
            this.ToolStripSeparator1 = new ToolStripSeparator();
            this.DeleteToolStripMenuItem = new ToolStripMenuItem();
            this.UserIDTextBox = new TextBox();
            this.Label1 = new Label();
            this.PasswordTextbox = new TextBox();
            this.Label3 = new Label();
            this.GetBlogsButton = new Button();
            this.BloggerBlogTextBox = new TextBox();
            this.AddBlogButton = new Button();
            this.Label2 = new Label();
            this.BlogTitleTextBox = new TextBox();
            this.Label4 = new Label();
            this.Label5 = new Label();
            this.BloggerFeedTextBox = new TextBox();
            this.TabControl1 = new TabControl();
            this.TabPage1 = new TabPage();
            this.LogIntoBloggerHelpLabel = new Label();
            this.TabPage2 = new TabPage();
            this.LogInCheckBox = new CheckBox();
            this.GetFeedURLButton = new Button();
            this.VerifyFeedButton = new Button();
            this.VerifyBlogButton = new Button();
            this.ManuallyAddBlogHelpLabel = new Label();
            this.MainStatusStrip = new StatusStrip();
            this.StatusLabel = new ToolStripStatusLabel();
            this.DownloadedStatusLabel = new ToolStripStatusLabel();
            this.ToolTip1 = new ToolTip(this.components);
            this.ClearButton = new Button();
            this.TableLayoutPanel1.SuspendLayout();
            this.BlogListContextMenuStrip.SuspendLayout();
            this.TabControl1.SuspendLayout();
            this.TabPage1.SuspendLayout();
            this.TabPage2.SuspendLayout();
            this.MainStatusStrip.SuspendLayout();
            this.SuspendLayout();
            this.TableLayoutPanel1.Anchor = AnchorStyles.Right | AnchorStyles.Bottom;
            this.TableLayoutPanel1.ColumnCount = 2;
            this.TableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
            this.TableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50f));
            this.TableLayoutPanel1.Controls.Add(this.OK_Button, 0, 0);
            this.TableLayoutPanel1.Controls.Add(this.Cancel_Button, 1, 0);
            Point point = new Point(0x204, 0x17b);
            this.TableLayoutPanel1.Location = point;
            this.TableLayoutPanel1.Name = "TableLayoutPanel1";
            this.TableLayoutPanel1.RowCount = 1;
            this.TableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 50f));
            Size size = new Size(0x92, 0x1d);
            this.TableLayoutPanel1.Size = size;
            this.TableLayoutPanel1.TabIndex = 0;
            this.OK_Button.Anchor = AnchorStyles.None;
            point = new Point(3, 3);
            this.OK_Button.Location = point;
            this.OK_Button.Name = "OK_Button";
            size = new Size(0x43, 0x17);
            this.OK_Button.Size = size;
            this.OK_Button.TabIndex = 0;
            this.OK_Button.Text = "OK";
            this.Cancel_Button.Anchor = AnchorStyles.None;
            this.Cancel_Button.DialogResult = DialogResult.Cancel;
            point = new Point(0x4c, 3);
            this.Cancel_Button.Location = point;
            this.Cancel_Button.Name = "Cancel_Button";
            size = new Size(0x43, 0x17);
            this.Cancel_Button.Size = size;
            this.Cancel_Button.TabIndex = 1;
            this.Cancel_Button.Text = "Cancel";
            this.BlogListView.Anchor = AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Top;
            this.BlogListView.Columns.AddRange(new ColumnHeader[] { this.ColumnHeader1, this.ColumnHeader2, this.ColumnHeader3 });
            this.BlogListView.ContextMenuStrip = this.BlogListContextMenuStrip;
            this.BlogListView.FullRowSelect = true;
            point = new Point(12, 12);
            this.BlogListView.Location = point;
            this.BlogListView.MultiSelect = false;
            this.BlogListView.Name = "BlogListView";
            size = new Size(0x28e, 0x8f);
            this.BlogListView.Size = size;
            this.BlogListView.TabIndex = 0;
            this.BlogListView.UseCompatibleStateImageBehavior = false;
            this.BlogListView.View = View.Details;
            this.ColumnHeader1.Text = "Blog Title";
            this.ColumnHeader1.Width = 0xdf;
            this.ColumnHeader2.Text = "Feed URL";
            this.ColumnHeader2.Width = 0x144;
            this.ColumnHeader3.Text = "User ID";
            this.BlogListContextMenuStrip.Items.AddRange(new ToolStripItem[] { this.EditToolStripMenuItem, this.ToolStripSeparator2, this.OpenToolStripMenuItem, this.OpenBlogToolStripMenuItem, this.ToolStripSeparator1, this.DeleteToolStripMenuItem });
            this.BlogListContextMenuStrip.Name = "BlogListContextMenuStrip";
            size = new Size(0xf1, 0x68);
            this.BlogListContextMenuStrip.Size = size;
            this.EditToolStripMenuItem.Name = "EditToolStripMenuItem";
            size = new Size(240, 0x16);
            this.EditToolStripMenuItem.Size = size;
            this.EditToolStripMenuItem.Text = "Edit";
            this.ToolStripSeparator2.Name = "ToolStripSeparator2";
            size = new Size(0xed, 6);
            this.ToolStripSeparator2.Size = size;
            this.OpenToolStripMenuItem.Name = "OpenToolStripMenuItem";
            size = new Size(240, 0x16);
            this.OpenToolStripMenuItem.Size = size;
            this.OpenToolStripMenuItem.Text = "Open Feed URL in Web Browser";
            this.OpenBlogToolStripMenuItem.Name = "OpenBlogToolStripMenuItem";
            size = new Size(240, 0x16);
            this.OpenBlogToolStripMenuItem.Size = size;
            this.OpenBlogToolStripMenuItem.Text = "Open Blog in Web Browser";
            this.ToolStripSeparator1.Name = "ToolStripSeparator1";
            size = new Size(0xed, 6);
            this.ToolStripSeparator1.Size = size;
            this.DeleteToolStripMenuItem.Name = "DeleteToolStripMenuItem";
            size = new Size(240, 0x16);
            this.DeleteToolStripMenuItem.Size = size;
            this.DeleteToolStripMenuItem.Text = "Delete";
            point = new Point(0x6a, 0x47);
            this.UserIDTextBox.Location = point;
            this.UserIDTextBox.Name = "UserIDTextBox";
            size = new Size(0xbd, 20);
            this.UserIDTextBox.Size = size;
            this.UserIDTextBox.TabIndex = 1;
            this.Label1.AutoSize = true;
            point = new Point(6, 0x47);
            this.Label1.Location = point;
            this.Label1.Name = "Label1";
            size = new Size(0x53, 13);
            this.Label1.Size = size;
            this.Label1.TabIndex = 0;
            this.Label1.Text = "Blogger user ID:";
            point = new Point(0x1a7, 0x47);
            this.PasswordTextbox.Location = point;
            this.PasswordTextbox.Name = "PasswordTextbox";
            size = new Size(0xbd, 20);
            this.PasswordTextbox.Size = size;
            this.PasswordTextbox.TabIndex = 3;
            this.PasswordTextbox.UseSystemPasswordChar = true;
            this.Label3.AutoSize = true;
            point = new Point(0x143, 0x47);
            this.Label3.Location = point;
            this.Label3.Name = "Label3";
            size = new Size(0x5e, 13);
            this.Label3.Size = size;
            this.Label3.TabIndex = 2;
            this.Label3.Text = "Blogger password:";
            this.GetBlogsButton.Anchor = AnchorStyles.Right | AnchorStyles.Top;
            point = new Point(0x19f, 0x9b);
            this.GetBlogsButton.Location = point;
            this.GetBlogsButton.Name = "GetBlogsButton";
            size = new Size(0xc5, 0x19);
            this.GetBlogsButton.Size = size;
            this.GetBlogsButton.TabIndex = 4;
            this.GetBlogsButton.Text = "Log into Blogger and Get Blogs";
            this.GetBlogsButton.UseVisualStyleBackColor = true;
            this.BloggerBlogTextBox.Anchor = AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Top;
            this.BloggerBlogTextBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            this.BloggerBlogTextBox.AutoCompleteSource = AutoCompleteSource.HistoryList;
            point = new Point(0x75, 0x5c);
            this.BloggerBlogTextBox.Location = point;
            this.BloggerBlogTextBox.MaxLength = 250;
            this.BloggerBlogTextBox.Name = "BloggerBlogTextBox";
            size = new Size(0x1c7, 20);
            this.BloggerBlogTextBox.Size = size;
            this.BloggerBlogTextBox.TabIndex = 4;
            this.AddBlogButton.Anchor = AnchorStyles.Right | AnchorStyles.Bottom;
            point = new Point(540, 0x99);
            this.AddBlogButton.Location = point;
            this.AddBlogButton.Name = "AddBlogButton";
            size = new Size(100, 0x19);
            this.AddBlogButton.Size = size;
            this.AddBlogButton.TabIndex = 10;
            this.AddBlogButton.Text = "Add/Update Blog";
            this.AddBlogButton.UseVisualStyleBackColor = true;
            this.Label2.AutoSize = true;
            point = new Point(5, 0x5c);
            this.Label2.Location = point;
            this.Label2.Name = "Label2";
            size = new Size(0x5f, 13);
            this.Label2.Size = size;
            this.Label2.TabIndex = 3;
            this.Label2.Text = "Blogger Blog URL:";
            this.BlogTitleTextBox.Anchor = AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Top;
            point = new Point(0x75, 0x42);
            this.BlogTitleTextBox.Location = point;
            this.BlogTitleTextBox.MaxLength = 250;
            this.BlogTitleTextBox.Name = "BlogTitleTextBox";
            size = new Size(0x20b, 20);
            this.BlogTitleTextBox.Size = size;
            this.BlogTitleTextBox.TabIndex = 2;
            this.Label4.AutoSize = true;
            point = new Point(6, 0x42);
            this.Label4.Location = point;
            this.Label4.Name = "Label4";
            size = new Size(0x57, 13);
            this.Label4.Size = size;
            this.Label4.TabIndex = 1;
            this.Label4.Text = "Blog Title/Name:";
            this.Label5.AutoSize = true;
            point = new Point(6, 0x76);
            this.Label5.Location = point;
            this.Label5.Name = "Label5";
            size = new Size(0x62, 13);
            this.Label5.Size = size;
            this.Label5.TabIndex = 6;
            this.Label5.Text = "Blogger Feed URL:";
            this.BloggerFeedTextBox.Anchor = AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Top;
            this.BloggerFeedTextBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            this.BloggerFeedTextBox.AutoCompleteSource = AutoCompleteSource.AllUrl;
            point = new Point(0xd3, 0x76);
            this.BloggerFeedTextBox.Location = point;
            this.BloggerFeedTextBox.MaxLength = 500;
            this.BloggerFeedTextBox.Name = "BloggerFeedTextBox";
            size = new Size(0x169, 20);
            this.BloggerFeedTextBox.Size = size;
            this.BloggerFeedTextBox.TabIndex = 8;
            this.TabControl1.Anchor = AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Bottom;
            this.TabControl1.Controls.Add(this.TabPage1);
            this.TabControl1.Controls.Add(this.TabPage2);
            point = new Point(12, 0xa1);
            this.TabControl1.Location = point;
            this.TabControl1.Name = "TabControl1";
            this.TabControl1.SelectedIndex = 0;
            size = new Size(0x28e, 0xd4);
            this.TabControl1.Size = size;
            this.TabControl1.TabIndex = 1;
            this.TabPage1.Controls.Add(this.LogIntoBloggerHelpLabel);
            this.TabPage1.Controls.Add(this.UserIDTextBox);
            this.TabPage1.Controls.Add(this.Label1);
            this.TabPage1.Controls.Add(this.GetBlogsButton);
            this.TabPage1.Controls.Add(this.PasswordTextbox);
            this.TabPage1.Controls.Add(this.Label3);
            point = new Point(4, 0x16);
            this.TabPage1.Location = point;
            this.TabPage1.Name = "TabPage1";
            Padding padding = new Padding(3);
            this.TabPage1.Padding = padding;
            size = new Size(0x286, 0xba);
            this.TabPage1.Size = size;
            this.TabPage1.TabIndex = 0;
            this.TabPage1.Text = "Log into Blogger to get and add your blogs";
            this.TabPage1.UseVisualStyleBackColor = true;
            this.LogIntoBloggerHelpLabel.Anchor = AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Top;
            this.LogIntoBloggerHelpLabel.BackColor = Color.WhiteSmoke;
            this.LogIntoBloggerHelpLabel.BorderStyle = BorderStyle.Fixed3D;
            this.LogIntoBloggerHelpLabel.ForeColor = Color.Blue;
            point = new Point(6, 3);
            this.LogIntoBloggerHelpLabel.Location = point;
            this.LogIntoBloggerHelpLabel.Name = "LogIntoBloggerHelpLabel";
            size = new Size(0x25e, 0x33);
            this.LogIntoBloggerHelpLabel.Size = size;
            this.LogIntoBloggerHelpLabel.TabIndex = 5;
            this.TabPage2.Controls.Add(this.ClearButton);
            this.TabPage2.Controls.Add(this.LogInCheckBox);
            this.TabPage2.Controls.Add(this.GetFeedURLButton);
            this.TabPage2.Controls.Add(this.VerifyFeedButton);
            this.TabPage2.Controls.Add(this.VerifyBlogButton);
            this.TabPage2.Controls.Add(this.ManuallyAddBlogHelpLabel);
            this.TabPage2.Controls.Add(this.Label4);
            this.TabPage2.Controls.Add(this.Label5);
            this.TabPage2.Controls.Add(this.BloggerBlogTextBox);
            this.TabPage2.Controls.Add(this.BloggerFeedTextBox);
            this.TabPage2.Controls.Add(this.AddBlogButton);
            this.TabPage2.Controls.Add(this.Label2);
            this.TabPage2.Controls.Add(this.BlogTitleTextBox);
            point = new Point(4, 0x16);
            this.TabPage2.Location = point;
            this.TabPage2.Name = "TabPage2";
            padding = new Padding(3);
            this.TabPage2.Padding = padding;
            size = new Size(0x286, 0xba);
            this.TabPage2.Size = size;
            this.TabPage2.TabIndex = 1;
            this.TabPage2.Text = "OR Manually add or edit a Blogger blog";
            this.TabPage2.UseVisualStyleBackColor = true;
            point = new Point(0x75, 0x90);
            this.LogInCheckBox.Location = point;
            this.LogInCheckBox.Name = "LogInCheckBox";
            size = new Size(0x85, 0x22);
            this.LogInCheckBox.Size = size;
            this.LogInCheckBox.TabIndex = 11;
            this.LogInCheckBox.Text = "Log into Blogger when backing up this feed";
            this.ToolTip1.SetToolTip(this.LogInCheckBox, "When this is checked,");
            this.LogInCheckBox.UseVisualStyleBackColor = true;
            this.GetFeedURLButton.Anchor = AnchorStyles.Left | AnchorStyles.Bottom;
            point = new Point(0x75, 0x75);
            this.GetFeedURLButton.Location = point;
            this.GetFeedURLButton.Name = "GetFeedURLButton";
            size = new Size(0x58, 0x15);
            this.GetFeedURLButton.Size = size;
            this.GetFeedURLButton.TabIndex = 7;
            this.GetFeedURLButton.Text = "Get Feed URL";
            this.GetFeedURLButton.UseVisualStyleBackColor = true;
            this.VerifyFeedButton.Anchor = AnchorStyles.Right | AnchorStyles.Bottom;
            point = new Point(0x242, 0x75);
            this.VerifyFeedButton.Location = point;
            this.VerifyFeedButton.Name = "VerifyFeedButton";
            size = new Size(0x3e, 0x15);
            this.VerifyFeedButton.Size = size;
            this.VerifyFeedButton.TabIndex = 9;
            this.VerifyFeedButton.Text = "Verify";
            this.VerifyFeedButton.UseVisualStyleBackColor = true;
            this.VerifyBlogButton.Anchor = AnchorStyles.Right | AnchorStyles.Bottom;
            point = new Point(0x242, 0x5c);
            this.VerifyBlogButton.Location = point;
            this.VerifyBlogButton.Name = "VerifyBlogButton";
            size = new Size(0x3e, 20);
            this.VerifyBlogButton.Size = size;
            this.VerifyBlogButton.TabIndex = 5;
            this.VerifyBlogButton.Text = "Verify";
            this.VerifyBlogButton.UseVisualStyleBackColor = true;
            this.ManuallyAddBlogHelpLabel.Anchor = AnchorStyles.Right | AnchorStyles.Left | AnchorStyles.Top;
            this.ManuallyAddBlogHelpLabel.BackColor = Color.WhiteSmoke;
            this.ManuallyAddBlogHelpLabel.BorderStyle = BorderStyle.Fixed3D;
            this.ManuallyAddBlogHelpLabel.ForeColor = Color.Blue;
            point = new Point(3, 3);
            this.ManuallyAddBlogHelpLabel.Location = point;
            this.ManuallyAddBlogHelpLabel.Name = "ManuallyAddBlogHelpLabel";
            size = new Size(0x279, 0x33);
            this.ManuallyAddBlogHelpLabel.Size = size;
            this.ManuallyAddBlogHelpLabel.TabIndex = 0;
            this.MainStatusStrip.Items.AddRange(new ToolStripItem[] { this.StatusLabel, this.DownloadedStatusLabel });
            point = new Point(0, 0x19b);
            this.MainStatusStrip.Location = point;
            this.MainStatusStrip.Name = "MainStatusStrip";
            size = new Size(0x2a1, 0x16);
            this.MainStatusStrip.Size = size;
            this.MainStatusStrip.TabIndex = 0x1a;
            this.MainStatusStrip.Text = "StatusStrip1";
            this.StatusLabel.Name = "StatusLabel";
            size = new Size(0x292, 0x11);
            this.StatusLabel.Size = size;
            this.StatusLabel.Spring = true;
            this.StatusLabel.TextAlign = ContentAlignment.TopLeft;
            this.DownloadedStatusLabel.Name = "DownloadedStatusLabel";
            size = new Size(0, 0x11);
            this.DownloadedStatusLabel.Size = size;
            this.ClearButton.Anchor = AnchorStyles.Right | AnchorStyles.Bottom;
            point = new Point(0x1dd, 0x99);
            this.ClearButton.Location = point;
            this.ClearButton.Name = "ClearButton";
            size = new Size(0x39, 0x19);
            this.ClearButton.Size = size;
            this.ClearButton.TabIndex = 12;
            this.ClearButton.Text = "Clear";
            this.ClearButton.UseVisualStyleBackColor = true;
            this.AcceptButton = this.OK_Button;
            SizeF ef = new SizeF(6f, 13f);
            this.AutoScaleDimensions = ef;
            this.AutoScaleMode = AutoScaleMode.Font;
            this.CancelButton = this.Cancel_Button;
            size = new Size(0x2a1, 0x1b1);
            this.ClientSize = size;
            this.Controls.Add(this.MainStatusStrip);
            this.Controls.Add(this.TabControl1);
            this.Controls.Add(this.BlogListView);
            this.Controls.Add(this.TableLayoutPanel1);
            this.Icon = (Icon) manager.GetObject("$this.Icon");
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            this.Name = "BlogList";
            this.ShowInTaskbar = false;
            this.StartPosition = FormStartPosition.CenterParent;
            this.Text = "Blog List";
            this.TableLayoutPanel1.ResumeLayout(false);
            this.BlogListContextMenuStrip.ResumeLayout(false);
            this.TabControl1.ResumeLayout(false);
            this.TabPage1.ResumeLayout(false);
            this.TabPage1.PerformLayout();
            this.TabPage2.ResumeLayout(false);
            this.TabPage2.PerformLayout();
            this.MainStatusStrip.ResumeLayout(false);
            this.MainStatusStrip.PerformLayout();
            this.ResumeLayout(false);
            this.PerformLayout();
        }

        private void ManualeEntry_TextChanged(object sender, EventArgs e)
        {
            this._ManualEntryDirty = true;
        }

        private void OK_Button_Click(object sender, EventArgs e)
        {
            if (this.OkToClose())
            {
                this.DialogResult = DialogResult.OK;
                this.Close();
            }
        }

        private bool OkToClose()
        {
            if (this._ManualEntryDirty)
            {
                bool flag;
                switch (((int) Interaction.MsgBox("It looks like there's a manually entered Blog that's not yet been added to the Blog List.\r\n\r\nAre you sure you want to leave now?", MsgBoxStyle.YesNo, "Pending Manual Blog Entry")))
                {
                    case 6:
                        return true;

                    case 7:
                        this.AddBlogButton.Focus();
                        this.TabControl1.SelectedIndex = 1;
                        return false;
                }
                return flag;
            }
            return true;
        }

        private void OpenBlogToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.BlogListView.SelectedItems.Count != 0)
            {
                IEnumerator enumerator;
                try
                {
                    enumerator = this.BlogListView.SelectedItems.GetEnumerator();
                    while (enumerator.MoveNext())
                    {
                        ListViewItem current = (ListViewItem) enumerator.Current;
                        BlogSetting tag = (BlogSetting) current.Tag;
                        if (tag.BlogURL.Length > 0)
                        {
                            try
                            {
                                Process.Start(tag.BlogURL);
                            }
                            catch (Exception exception1)
                            {
                                ProjectData.SetProjectError(exception1);
                                Exception exception = exception1;
                                Interaction.MsgBox("Error opening Blog URL " + tag.BlogURL + "\r\n\r\n" + exception.Message, MsgBoxStyle.OkOnly, null);
                                _log.Error("Error opening Blog URL " + tag.BlogURL, exception);
                                ProjectData.ClearProjectError();
                            }
                        }
                        tag = null;
                    }
                }
                finally
                {
                    if (enumerator is IDisposable)
                    {
                        (enumerator as IDisposable).Dispose();
                    }
                }
            }
        }

        private void OpenToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (this.BlogListView.SelectedItems.Count != 0)
            {
                IEnumerator enumerator;
                try
                {
                    enumerator = this.BlogListView.SelectedItems.GetEnumerator();
                    while (enumerator.MoveNext())
                    {
                        ListViewItem current = (ListViewItem) enumerator.Current;
                        BlogSetting tag = (BlogSetting) current.Tag;
                        if (tag.FeedURL.Length > 0)
                        {
                            try
                            {
                                Process.Start(tag.FeedURL);
                            }
                            catch (Exception exception1)
                            {
                                ProjectData.SetProjectError(exception1);
                                Exception exception = exception1;
                                Interaction.MsgBox("Error opening Feed URL " + tag.FeedURL + "\r\n\r\n" + exception.Message, MsgBoxStyle.OkOnly, null);
                                _log.Error("Error opening Feed URL " + tag.FeedURL, exception);
                                ProjectData.ClearProjectError();
                            }
                        }
                        tag = null;
                    }
                }
                finally
                {
                    if (enumerator is IDisposable)
                    {
                        (enumerator as IDisposable).Dispose();
                    }
                }
            }
        }

        public DialogResult ShowDialog(IWin32Window owner, BloggerBackupSettings settings, ILog log)
        {
            IEnumerator enumerator;
            this._Settings = settings;
            _log = log;
            foreach (BlogSetting setting in this._Settings.BlogSettings)
            {
                ListViewItem item = this.BlogListView.Items.Add(setting.ID.ToString(), setting.Title, 0);
                item.Tag = setting;
                item.SubItems.Add(setting.FeedURL);
                item.SubItems.Add(setting.UserName);
            }
            this.UserIDTextBox.Text = this._Settings.DefaultUserName;
            if (this.ShowDialog(owner) == DialogResult.Cancel)
            {
                return DialogResult.Cancel;
            }
            this._Settings.DefaultUserName = this.UserIDTextBox.Text;
            try
            {
                enumerator = this.BlogListView.Items.GetEnumerator();
                while (enumerator.MoveNext())
                {
                    ListViewItem current = (ListViewItem) enumerator.Current;
                    if (!this._Settings.BlogSettings.Contains((BlogSetting) current.Tag))
                    {
                        this._Settings.BlogSettings.Add((BlogSetting) current.Tag);
                    }
                }
            }
            finally
            {
                if (enumerator is IDisposable)
                {
                    (enumerator as IDisposable).Dispose();
                }
            }
            return DialogResult.OK;
        }

        private void StatusUpdate(string Message)
        {
            this.StatusLabel.Text = Message;
            this.MainStatusStrip.Refresh();
            this.Refresh();
            if (Message.Length > 0)
            {
                _log.Info(Message);
            }
        }

        private void VerifyBlogButton_Click(object sender, EventArgs e)
        {
            if (this.BloggerBlogTextBox.Text.Length > 0)
            {
                try
                {
                    Process.Start(this.BloggerBlogTextBox.Text);
                }
                catch (Exception exception1)
                {
                    ProjectData.SetProjectError(exception1);
                    Exception exception = exception1;
                    Interaction.MsgBox("Error opening Blog URL " + this.BloggerBlogTextBox.Text + "\r\n\r\n" + exception.Message, MsgBoxStyle.OkOnly, null);
                    _log.Error("Error opening Blog URL " + this.BloggerBlogTextBox.Text, exception);
                    ProjectData.ClearProjectError();
                }
            }
        }

        private void VerifyFeedButton_Click(object sender, EventArgs e)
        {
            if (this.BloggerFeedTextBox.Text.Length > 0)
            {
                try
                {
                    Process.Start(this.BloggerFeedTextBox.Text);
                }
                catch (Exception exception1)
                {
                    ProjectData.SetProjectError(exception1);
                    Exception exception = exception1;
                    Interaction.MsgBox("Error opening Blog URL " + this.BloggerFeedTextBox.Text + "\r\n\r\n" + exception.Message, MsgBoxStyle.OkOnly, null);
                    _log.Error("Error opening Blog URL " + this.BloggerFeedTextBox.Text, exception);
                    ProjectData.ClearProjectError();
                }
            }
        }

        internal virtual Button AddBlogButton
        {
            [DebuggerNonUserCode]
            get
            {
                return this._AddBlogButton;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.AddBlogButton_Click);
                if (this._AddBlogButton != null)
                {
                    this._AddBlogButton.Click -= handler;
                }
                this._AddBlogButton = value;
                if (this._AddBlogButton != null)
                {
                    this._AddBlogButton.Click += handler;
                }
            }
        }

        internal virtual TextBox BloggerBlogTextBox
        {
            [DebuggerNonUserCode]
            get
            {
                return this._BloggerBlogTextBox;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.BloggerBlogTextBox_Leave);
                if (this._BloggerBlogTextBox != null)
                {
                    this._BloggerBlogTextBox.Leave -= handler;
                }
                this._BloggerBlogTextBox = value;
                if (this._BloggerBlogTextBox != null)
                {
                    this._BloggerBlogTextBox.Leave += handler;
                }
            }
        }

        internal virtual TextBox BloggerFeedTextBox
        {
            [DebuggerNonUserCode]
            get
            {
                return this._BloggerFeedTextBox;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.ManualeEntry_TextChanged);
                if (this._BloggerFeedTextBox != null)
                {
                    this._BloggerFeedTextBox.TextChanged -= handler;
                }
                this._BloggerFeedTextBox = value;
                if (this._BloggerFeedTextBox != null)
                {
                    this._BloggerFeedTextBox.TextChanged += handler;
                }
            }
        }

        internal virtual ContextMenuStrip BlogListContextMenuStrip
        {
            [DebuggerNonUserCode]
            get
            {
                return this._BlogListContextMenuStrip;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                CancelEventHandler handler = new CancelEventHandler(this.BlogListContextMenuStrip_Opening);
                if (this._BlogListContextMenuStrip != null)
                {
                    this._BlogListContextMenuStrip.Opening -= handler;
                }
                this._BlogListContextMenuStrip = value;
                if (this._BlogListContextMenuStrip != null)
                {
                    this._BlogListContextMenuStrip.Opening += handler;
                }
            }
        }

        internal virtual ListView BlogListView
        {
            [DebuggerNonUserCode]
            get
            {
                return this._BlogListView;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                KeyEventHandler handler = new KeyEventHandler(this.BlogListView_KeyUp);
                if (this._BlogListView != null)
                {
                    this._BlogListView.KeyUp -= handler;
                }
                this._BlogListView = value;
                if (this._BlogListView != null)
                {
                    this._BlogListView.KeyUp += handler;
                }
            }
        }

        internal virtual TextBox BlogTitleTextBox
        {
            [DebuggerNonUserCode]
            get
            {
                return this._BlogTitleTextBox;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.ManualeEntry_TextChanged);
                EventHandler handler2 = new EventHandler(this.ManualeEntry_TextChanged);
                if (this._BlogTitleTextBox != null)
                {
                    this._BlogTitleTextBox.TextChanged -= handler;
                    this._BlogTitleTextBox.TextChanged -= handler2;
                }
                this._BlogTitleTextBox = value;
                if (this._BlogTitleTextBox != null)
                {
                    this._BlogTitleTextBox.TextChanged += handler;
                    this._BlogTitleTextBox.TextChanged += handler2;
                }
            }
        }

        internal virtual Button Cancel_Button
        {
            [DebuggerNonUserCode]
            get
            {
                return this._Cancel_Button;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.Cancel_Button_Click);
                if (this._Cancel_Button != null)
                {
                    this._Cancel_Button.Click -= handler;
                }
                this._Cancel_Button = value;
                if (this._Cancel_Button != null)
                {
                    this._Cancel_Button.Click += handler;
                }
            }
        }

        internal virtual Button ClearButton
        {
            [DebuggerNonUserCode]
            get
            {
                return this._ClearButton;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.ClearButton_Click);
                if (this._ClearButton != null)
                {
                    this._ClearButton.Click -= handler;
                }
                this._ClearButton = value;
                if (this._ClearButton != null)
                {
                    this._ClearButton.Click += handler;
                }
            }
        }

        internal virtual ColumnHeader ColumnHeader1
        {
            [DebuggerNonUserCode]
            get
            {
                return this._ColumnHeader1;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._ColumnHeader1 = value;
            }
        }

        internal virtual ColumnHeader ColumnHeader2
        {
            [DebuggerNonUserCode]
            get
            {
                return this._ColumnHeader2;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._ColumnHeader2 = value;
            }
        }

        internal virtual ColumnHeader ColumnHeader3
        {
            [DebuggerNonUserCode]
            get
            {
                return this._ColumnHeader3;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._ColumnHeader3 = value;
            }
        }

        internal virtual ToolStripMenuItem DeleteToolStripMenuItem
        {
            [DebuggerNonUserCode]
            get
            {
                return this._DeleteToolStripMenuItem;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.DeleteToolStripMenuItem_Click);
                if (this._DeleteToolStripMenuItem != null)
                {
                    this._DeleteToolStripMenuItem.Click -= handler;
                }
                this._DeleteToolStripMenuItem = value;
                if (this._DeleteToolStripMenuItem != null)
                {
                    this._DeleteToolStripMenuItem.Click += handler;
                }
            }
        }

        internal virtual ToolStripStatusLabel DownloadedStatusLabel
        {
            [DebuggerNonUserCode]
            get
            {
                return this._DownloadedStatusLabel;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._DownloadedStatusLabel = value;
            }
        }

        internal virtual ToolStripMenuItem EditToolStripMenuItem
        {
            [DebuggerNonUserCode]
            get
            {
                return this._EditToolStripMenuItem;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.EditToolStripMenuItem_Click);
                if (this._EditToolStripMenuItem != null)
                {
                    this._EditToolStripMenuItem.Click -= handler;
                }
                this._EditToolStripMenuItem = value;
                if (this._EditToolStripMenuItem != null)
                {
                    this._EditToolStripMenuItem.Click += handler;
                }
            }
        }

        internal virtual Button GetBlogsButton
        {
            [DebuggerNonUserCode]
            get
            {
                return this._GetBlogsButton;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.GetBlogsButton_Click);
                if (this._GetBlogsButton != null)
                {
                    this._GetBlogsButton.Click -= handler;
                }
                this._GetBlogsButton = value;
                if (this._GetBlogsButton != null)
                {
                    this._GetBlogsButton.Click += handler;
                }
            }
        }

        internal virtual Button GetFeedURLButton
        {
            [DebuggerNonUserCode]
            get
            {
                return this._GetFeedURLButton;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.GetFeedURLButton_Click);
                if (this._GetFeedURLButton != null)
                {
                    this._GetFeedURLButton.Click -= handler;
                }
                this._GetFeedURLButton = value;
                if (this._GetFeedURLButton != null)
                {
                    this._GetFeedURLButton.Click += handler;
                }
            }
        }

        internal virtual Label Label1
        {
            [DebuggerNonUserCode]
            get
            {
                return this._Label1;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._Label1 = value;
            }
        }

        internal virtual Label Label2
        {
            [DebuggerNonUserCode]
            get
            {
                return this._Label2;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._Label2 = value;
            }
        }

        internal virtual Label Label3
        {
            [DebuggerNonUserCode]
            get
            {
                return this._Label3;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._Label3 = value;
            }
        }

        internal virtual Label Label4
        {
            [DebuggerNonUserCode]
            get
            {
                return this._Label4;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._Label4 = value;
            }
        }

        internal virtual Label Label5
        {
            [DebuggerNonUserCode]
            get
            {
                return this._Label5;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._Label5 = value;
            }
        }

        internal virtual CheckBox LogInCheckBox
        {
            [DebuggerNonUserCode]
            get
            {
                return this._LogInCheckBox;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._LogInCheckBox = value;
            }
        }

        internal virtual Label LogIntoBloggerHelpLabel
        {
            [DebuggerNonUserCode]
            get
            {
                return this._LogIntoBloggerHelpLabel;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._LogIntoBloggerHelpLabel = value;
            }
        }

        internal virtual StatusStrip MainStatusStrip
        {
            [DebuggerNonUserCode]
            get
            {
                return this._MainStatusStrip;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._MainStatusStrip = value;
            }
        }

        internal virtual Label ManuallyAddBlogHelpLabel
        {
            [DebuggerNonUserCode]
            get
            {
                return this._ManuallyAddBlogHelpLabel;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._ManuallyAddBlogHelpLabel = value;
            }
        }

        internal virtual Button OK_Button
        {
            [DebuggerNonUserCode]
            get
            {
                return this._OK_Button;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.OK_Button_Click);
                if (this._OK_Button != null)
                {
                    this._OK_Button.Click -= handler;
                }
                this._OK_Button = value;
                if (this._OK_Button != null)
                {
                    this._OK_Button.Click += handler;
                }
            }
        }

        internal virtual ToolStripMenuItem OpenBlogToolStripMenuItem
        {
            [DebuggerNonUserCode]
            get
            {
                return this._OpenBlogToolStripMenuItem;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.OpenBlogToolStripMenuItem_Click);
                if (this._OpenBlogToolStripMenuItem != null)
                {
                    this._OpenBlogToolStripMenuItem.Click -= handler;
                }
                this._OpenBlogToolStripMenuItem = value;
                if (this._OpenBlogToolStripMenuItem != null)
                {
                    this._OpenBlogToolStripMenuItem.Click += handler;
                }
            }
        }

        internal virtual ToolStripMenuItem OpenToolStripMenuItem
        {
            [DebuggerNonUserCode]
            get
            {
                return this._OpenToolStripMenuItem;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.OpenToolStripMenuItem_Click);
                if (this._OpenToolStripMenuItem != null)
                {
                    this._OpenToolStripMenuItem.Click -= handler;
                }
                this._OpenToolStripMenuItem = value;
                if (this._OpenToolStripMenuItem != null)
                {
                    this._OpenToolStripMenuItem.Click += handler;
                }
            }
        }

        internal virtual TextBox PasswordTextbox
        {
            [DebuggerNonUserCode]
            get
            {
                return this._PasswordTextbox;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._PasswordTextbox = value;
            }
        }

        internal virtual ToolStripStatusLabel StatusLabel
        {
            [DebuggerNonUserCode]
            get
            {
                return this._StatusLabel;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._StatusLabel = value;
            }
        }

        internal virtual TabControl TabControl1
        {
            [DebuggerNonUserCode]
            get
            {
                return this._TabControl1;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._TabControl1 = value;
            }
        }

        internal virtual TableLayoutPanel TableLayoutPanel1
        {
            [DebuggerNonUserCode]
            get
            {
                return this._TableLayoutPanel1;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._TableLayoutPanel1 = value;
            }
        }

        internal virtual TabPage TabPage1
        {
            [DebuggerNonUserCode]
            get
            {
                return this._TabPage1;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._TabPage1 = value;
            }
        }

        internal virtual TabPage TabPage2
        {
            [DebuggerNonUserCode]
            get
            {
                return this._TabPage2;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._TabPage2 = value;
            }
        }

        internal virtual ToolStripSeparator ToolStripSeparator1
        {
            [DebuggerNonUserCode]
            get
            {
                return this._ToolStripSeparator1;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._ToolStripSeparator1 = value;
            }
        }

        internal virtual ToolStripSeparator ToolStripSeparator2
        {
            [DebuggerNonUserCode]
            get
            {
                return this._ToolStripSeparator2;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._ToolStripSeparator2 = value;
            }
        }

        internal virtual ToolTip ToolTip1
        {
            [DebuggerNonUserCode]
            get
            {
                return this._ToolTip1;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._ToolTip1 = value;
            }
        }

        internal virtual TextBox UserIDTextBox
        {
            [DebuggerNonUserCode]
            get
            {
                return this._UserIDTextBox;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                this._UserIDTextBox = value;
            }
        }

        internal virtual Button VerifyBlogButton
        {
            [DebuggerNonUserCode]
            get
            {
                return this._VerifyBlogButton;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.VerifyBlogButton_Click);
                if (this._VerifyBlogButton != null)
                {
                    this._VerifyBlogButton.Click -= handler;
                }
                this._VerifyBlogButton = value;
                if (this._VerifyBlogButton != null)
                {
                    this._VerifyBlogButton.Click += handler;
                }
            }
        }

        internal virtual Button VerifyFeedButton
        {
            [DebuggerNonUserCode]
            get
            {
                return this._VerifyFeedButton;
            }
            [MethodImpl(MethodImplOptions.Synchronized), DebuggerNonUserCode]
            set
            {
                EventHandler handler = new EventHandler(this.VerifyFeedButton_Click);
                if (this._VerifyFeedButton != null)
                {
                    this._VerifyFeedButton.Click -= handler;
                }
                this._VerifyFeedButton = value;
                if (this._VerifyFeedButton != null)
                {
                    this._VerifyFeedButton.Click += handler;
                }
            }
        }
    }
}

